<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="zh" xml:lang="zh" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Concept: 进程视图</title>
<meta name="uma.type" content="Concept">
<meta name="uma.name" content="process_view">
<meta name="uma.presentationName" content="进程视图">
<meta name="element_type" content="concept">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../../css/default.css" type="text/css">
<script src="./../../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../../';
					var imgPath = './../../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo,  '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="6.45284088262517E-306"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Concept: 进程视图</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../../images/concept.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">称为进程视图的架构视图说明了系统的流程分解，包括类和子系统到进程和线程的映射。</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Related Elements</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../../rup/domains/analysis_and_design_BD3BBB1D.html" guid="_kjFBYN7HEdm8G6yT7-Wdqw">分析与设计</a>
</li>
<li>
<a href="./../../../rup/workproducts/rup_software_architecture_document_C367485C.html" guid="{6F49641A-ED10-47B5-9E5D-3F90A6BF3006}">软件架构文档</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Main Description</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell"><p>
    为理解系统的流程组织提供基础，在分析和设计规程中使用称为<b>进程视图</b>的架构视图。只有一个系统进程视图，该视图说明了系统的流程分解，包括类和子系统到<a class="elementLinkWithUserText" href="./../../../base_concepts/guidances/termdefinitions/process_68E308B4.html" guid="_yQ5m2NnmEdmO6L4XMImrsA">进程</a>和<a class="elementLinkWithUserText" href="./../../../rup/guidances/termdefinitions/thread_CD09F29.html" guid="_yYpNkNnmEdmO6L4XMImrsA">线程</a>的映射。在每次迭代期间优化进程视图。如 [<a class="elementLinkWithUserText" href="./../../../rup/customcategories/references_56F06DFD.html#BOO98" guid="7.755968586980351E-308">BOO98</a>] 所述：“使用
    UML，在与设计视图相同类型的图（即类图、交互图、活动图和状态表图）中获取此视图的静态和动态方面的内容，但要关注代表这些线程和进程的活动类”。例如，在构造和使用进程视图时关注并行、响应时间、死锁、吞吐量、容错和可伸缩性等问题。
</p>
<p>
    有可能在不使用直接底层操作系统支持的情况下设计并发，例如使用特别编写的调度程序或其他运行时支持。在这样的情况中，在应用程序基础结构级别而不是操作系统级别模拟并发。如果需要，可以使用其他构造型（除了标准线程和进程）作出该区分（以指导实现）。例如，Ada
    编程语言包含它自己的、基于 Ada 任务的并发模型；Ada 运行时必须提供该功能，无论运行它的操作系统是否有相应的等价功能（比如线程），该功能可用于支持 Ada 任务。
</p>在实时系统中，Neusoft Unified Process 建议使用<a class="elementLinkWithUserText" href="./../../../rup/workproducts/rup_capsule_FC4A34FD.html" guid="{4423FCE1-FF59-4C8E-A6C4-AA4B13CB3250}">封装体</a>来表示进程视图中的活动类。封装体具有很强的语义，可简化并行的建模：
<ul class="reactive">
    <li>
        它们利用明确定义的<a class="elementLinkWithUserText" href="./../../../rup/workproducts/rup_protocol_BEB5FBE1.html" guid="{6E4F4D6F-2934-432C-9335-5537B795F67F}">协议</a>通过<a class="elementLinkWithUserText" href="./../../../rup/workproducts/rup_capsule_FC4A34FD.html#Ports" guid="{4423FCE1-FF59-4C8E-A6C4-AA4B13CB3250}">端口</a>来进行基于异步消息的通信。
    </li>
    <li>
        它们对消息处理使用运行至完成的语义。
    </li>
    <li>
        它们封装被动对象（确保不会发生线程干扰）。
    </li>
</ul>
<p align="center">
    <img height="403" alt="附带内容中描述的图。" src="./../../../rup/tasks/resources/proc3.gif" width="574" />
</p>
<p class="picturetext">
    进程视图显示系统的进程组织。
</p>
<p>
    还有其他四个视图：<b>用例视图</b>（在需求规程中处理）、<b>逻辑视图</b>、<b>部署视图</b>和<b>实现视图</b>；后面三个视图在分析与设计工作流程和实现工作流程中进行处理。
</p>
<p>
    <b>软件架构文档</b>中记录了架构视图。可以添加不同的视图（例如安全视图）来说明软件架构的其他特定方面。
</p>
<p>
    因此本质上，可以将架构视图看成所构建模型的抽象或简化，在该视图中通过将细节放在一边而使重要特征更加清晰。对于提高在系统开发过程中构建的任何模型的质量，架构是一种重要的方法。
</p><br />
<br /></td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright">Copyright &copy; 2008 版权所有 东软集团股份有限公司&nbsp; 联系邮箱:<a href="mailto:tcoe@neusoft.com">tcoe@neusoft.com</a></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
